package com.un.ebs.contract.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.un.ebs.contract.enums.ContractTypeEnum;
import com.un.ebs.core.metadata.DbField;
import com.un.ebs.product.enums.ProductPurchaseTypeEnum;
import lombok.Data;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * (ContractItemBySaleExt)表实体类
 *
 * @author liubo
 * @since 2020-12-28 22:10:30
 */
@Data
@Component
@TableName("v_contract_item_by_sale_ext")
@SuppressWarnings("serial")
public class ContractItemBySaleExt extends Model<ContractItemBySaleExt> {


    @DbField(name = "contract_id", length = 40, precision = 0)
    private String contractId;

    @DbField(name = "type", length = -1, precision = 0)
    private ContractTypeEnum type;

    @DbField(name = "sku_id", length = 40, precision = 0)
    private String skuId;

    @DbField(name = "sku_code", length = 100, precision = 0)
    private String skuCode;

    @DbField(name = "sku_name", length = 100, precision = 0)
    private String skuName;

    @DbField(name = "price", length = 18, precision = 4)
    private Double price;

    @DbField(name = "class_name", length = 40, precision = 0)
    private String className;

    @DbField(name = "purchase_type", length = -1, precision = 0)
    private ProductPurchaseTypeEnum purchaseType;

    @DbField(name = "business_ent_id", length = 40, precision = 0)
    private String businessEntId;

    @DbField(name = "business_ent_name", length = 100, precision = 0)
    private String businessEntName;

    @DbField(name = "business_contract_code", length = 100, precision = 0)
    private String businessContractCode;

    @DbField(name = "last_customer_ent_id", length = 40, precision = 0)
    private String lastCustomerEntId;

    @DbField(name = "last_customer_name", length = 100, precision = 0)
    private String lastCustomerName;

    @DbField(name = "contract_code", length = 50, precision = 0)
    private String contractCode;

    @DbField(name = "personnel_id", length = 40, precision = 0)
    private String personnelId;

    @DbField(name = "personnel_name", length = 50, precision = 0)
    private String personnelName;

    @DbField(name = "audit_time", length = -1, precision = 0)
    private Date auditTime;

    @DbField(name = "audit_status", length = -1, precision = 0)
    private Boolean auditStatus;

    @DbField(name = "audit_at_name", length = 50, precision = 0)
    private String auditAtName;

    @DbField(name = "submit_time", length = -1, precision = 0)
    private Date submitTime;

    @DbField(name = "submit_status", length = -1, precision = 0)
    private Boolean submitStatus;

    @DbField(name = "qty", length = 38, precision = 4)
    private Double qty;

    @DbField(name = "contract_money", length = 38, precision = 8)
    private Double contractMoney;

    @DbField(name = "write_off_qty", length = 38, precision = 4)
    private Double writeOffQty;

    @DbField(name = "write_off_qty_format", length = 38, precision = 4)
    private Double writeOffQtyFormat;

    @DbField(name = "order_qty", length = 38, precision = 4)
    private Double orderQty;

    @DbField(name = "tenant_id", length = 40, precision = 0)
    private String tenantId;


}